/**
 * 格式化日期
 * @param date 日期字符串或时间戳
 * @returns 格式化后的日期字符串
 */
export const formatDate = (date: string | number): string => {
  if (!date) return '';
  const dateObj = new Date(date);
  const month = (dateObj.getMonth() + 1).toString().padStart(2, '0');
  const day = dateObj.getDate().toString().padStart(2, '0');
  return `${month}月${day}日`;
};

/**
 * 格式化金额
 * @param amount 金额数字
 * @returns 格式化后的金额字符串
 */
export const formatAmount = (amount: number): string => {
  if (typeof amount !== 'number') return '0.00';
  return `¥${amount.toFixed(2)}`;
};

/**
 * 格式化时间
 * @param time 时间字符串或时间戳
 * @returns 格式化后的时间字符串
 */
export const formatTime = (time: string | number): string => {
  if (!time) return '';
  const dateObj = new Date(time);
  const hours = dateObj.getHours().toString().padStart(2, '0');
  const minutes = dateObj.getMinutes().toString().padStart(2, '0');
  return `${hours}:${minutes}`;
};

/**
 * 格式化完整日期时间
 * @param datetime 日期时间字符串或时间戳
 * @returns 格式化后的日期时间字符串
 */
export const formatDateTime = (datetime: string | number): string => {
  if (!datetime) return '';
  const dateObj = new Date(datetime);
  const year = dateObj.getFullYear();
  const month = (dateObj.getMonth() + 1).toString().padStart(2, '0');
  const day = dateObj.getDate().toString().padStart(2, '0');
  const hours = dateObj.getHours().toString().padStart(2, '0');
  const minutes = dateObj.getMinutes().toString().padStart(2, '0');
  return `${year}-${month}-${day} ${hours}:${minutes}`;
}; 